There are a couple of modules designed to help with this, but unfortunately neither seems to be available as a ppm for ActiveState under Win32 (assuming you are using ActiveState).
Both PDL::IO::Storable and PDL::NetCDF could help accomplish your aims. Though according to the docs for PDL::IO::Storable, if you plan to use the stored piddles across platforms, you may be better off using PDL::NetCDF. Initially, it looked like an ActivePerl ppm for PDL::NetCDF was available from Randy Kobe's ppm repository, but the link to NetCDF on that page goes nowhere. From Trouchelle it looks like the 0.93 build failed.
So, I guess this is helpful only if you can build your own.