Filesystem.pm

  1. package Filesystem;
  2. use strict;
  3. sub filelist {
  4. my(@list,$i,$selectedFile,$tmp);
  5. opendir DIR, ".";
  6. @list = readdir DIR;
  7. do
  8. {
  9. foreach $i (0..$#list)
  10. {
  11. if(-f $list[$i]) {print "\n$i. $list[$i]";}
  12. }
  13. print "\n\nSelect file: ";
  14. $tmp=<STDIN>;
  15. $selectedFile = $list[$tmp];
  16. }while (!(-f $selectedFile));
  17. return $selectedFile;
  18. }
  19. sub getFile #arguments: (text to print, default file, create new file)
  20. {
  21. my($tmp,$filename);
  22. $filename = $_[1];
  23. print STDOUT "$_[0] [$filename]: ";
  24. $tmp = <STDIN>;
  25. chomp($tmp);
  26. if($tmp ne ""){$filename=$tmp;};
  27. if (($filename ne '') and ($_[2] eq 'yes')) {return $filename};
  28. if (!(-f $filename))
  29. {$filename = Filesystem::filelist();}
  30. return $filename;
  31. }
  32. sub winPath
  33. {
  34. my($tmp);
  35. $tmp = $_[0];
  36. $tmp =~s/\//\\/g;
  37. return $tmp;
  38. }
  39. 1