It works perfectly for me on a SQL Server Developer Edition but you forgot the # on the table name. You need to write #perm_tbl instead of perm_tbl with out the # sign.
CREATE PARTITION FUNCTION part_fn (int)
AS RANGE RIGHT FOR VALUES (0,1,2,3);
GO
CREATE PARTITION SCHEME part_schm
AS PARTITION part_fn
ALL TO ('PRIMARY');
GO
CREATE TABLE #perm_tbl (f1 int, f2 char(8), f3 numeric(20,0))
on part_schm(f1);
The above worked for me.
However, please consider using In-Memory OLTP in the scenario you described.