I use FileHandle::Rollback to read and write file,because of its function of rollback. Now I want to let a sub return the obj(FileHandle::Rollback) refference, and I can call commit() in main sub. but it seems cannot run. abc sub can return a filehandle but can not call commit(),why is it? error message Can't call method "commit" on an undefined value at D:/Program Files/perl/site/lib/FileHandle/Rollback.pm line 188. at D:/Program Files/perl/site/lib/FileHandle/Rollback.pm line 188 FileHandle::Rollback::commit('FileHandle::Rollback=GLOB(0x1df63e4)') called at D:/HF_project_perl/V3.0/darft.pl line 8use FileHandle::Rollback; my $INDEXFILE_M; $INDEXFILE_M=&abc(); $INDEXFILE_M->commit();#error sub abc{ my $INDEXFILE = FileHandle::Rollback->new("< a.txt") or die "cannot op +en filehandle: $!"; select($INDEXFILE); print "AAAA"; return \*$INDEXFILE; }
In reply to Is it a filehandle or a obj refference? by jiwei800715
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |